#include <iostream>  
#include <string>    
#include "Search.hpp" 
#include "cpp-httplib/httplib.h" 
#include "log.hpp"

using namespace std; 
const string input = "data/raw_html/raw.txt"; // 输入文件路径
const string root = "wwwroot"; // 服务器根目录

#define PORT 8081

int main()
{
    project_search::search Search; // 创建一个 Search 对象


    Search.Initsearch(input);

    // 创建 HTTP 服务器
    httplib::Server svr;

    // 设置服务器根目录
    svr.set_base_dir(root.c_str());

    // 处理 GET 请求
    svr.Get("/s", [&Search](const httplib::Request &req, httplib::Response &res) {
        // 检查请求是否包含 "word" 参数
        if (!req.has_param("word"))
        {
            res.set_content("必须要有搜索关键字!", "text/plain; charset=utf-8");
            return;
        }

        // 获取查询参数 "word" 的值
        string word = req.get_param_value("word");
        LOG(Info,"用户在搜索 :" + word);

        string json_string;

        // 执行搜索
        Search.Search(word, &json_string);

        // 返回 JSON 格式的搜索结果
        res.set_content(json_string, "application/json");
    });
    LOG(Info,"服务器成功启动 port :"+to_string(PORT));

    // 启动 HTTP 服务器，监听 0.0.0.0 的 8081 端口
    svr.listen("0.0.0.0", PORT);

    return 0;
}
